The present invention relates in general to computer input systems and in particular to a system for acquiring and validating computer input data produced by a touchscreen.
A touchscreen typically comprises a set of photodetectors and a set of light emitting diodes (LEDs), one LED corresponding to each photodetector. The photodetectors and LEDs are distributed along the edges of a computer terminal screen with each LED and its corresponding photodetector being mounted on opposite edges of the screen so that each LED transmits a beam of light across the screen to its corresponding photodetector. The LEDs and photodetectors are arranged so that some light beams produced by the LEDs traverse the screen in a vertical direction while other light beams traverse the screen in a horizontal direction. The horizontal and vertical light beams are spaced so as to form a regular, rectangular grid in front of the screen. Parallel beams are close enough together so that when an operator touches the screen with a finger, the finger usually prevents at least one vertical beam and at least one horizontal beam from striking its corresponding photodetector. Each photodetector produces an output signal of a high or low logic state depending on whether or not it detects the corresponding light beam, and the position of the operator's finger on the screen can be ascertained from the state of the photodetector output signals, provided the finger intercepts at least one horizontal and one vertical beam.
Touchscreen systems are commonly used in computerized systems such as digital oscilloscopes which display menus on a screen because a touchscreen permits an operator to make a menu selection by directly touching a selectable item on the displayed menu rather than, for example, by depressing a pushbutton elsewhere on the oscilloscope. In such an application, a touchscreen not only eliminates or reduces the need for pushbuttons, it also tends to reduce opportunity for operator error since menu item selection is direct and intuitive.
Typically an interface device responsive to the output signal produced by each photodetector will store data indicating the state of each photodetector in a memory device. Touchscreen systems of the prior art typically utilize either of two methods for transferring the stored touchscreen state data to a computer so that the computer can determine from this data when and where the screen is being touched or "untouched". According to a "clocked" method of the prior art, the computer periodically reads the stored touchscreen data, determines whether any change in the data has taken place and takes appropriate action. According to an "interrupt" method of the prior art, the interface device includes provisions for determining when a change has occurred in the touchscreen data and sends an interrupt signal to the computer indicating a change in the touchscreen data. The computer then reads the data stored in the memory device to determine how the state of the touchscreen output signals have changed and then takes appropriate action.
In order to provide prompt response to operator input, it is necessary when utilizing the clocked method to read the touchscreen state data fairly often. Since the process of reading and analyzing all the data typically takes a substantial amount of processing time, the processing time overhead in monitoring the touchscreen is fairly high. In applications where operator input through the touchscreen is relatively infrequent, the computer processing time overhead for handling touchscreen input can be reduced by utilizing the interrupt method because the computer reads and processes touchscreen data only when the operator has just touched or "untouched" the touchscreen. However the interrupt method can be troublesome. An operator's finger normally shakes no matter how steady he tries to hold it, and when the edge of operator's finger is close to one or more beams, this normal vibration of the finger can cause the finger to intermittently intercept the beams. This in turn causes the scanning device to repeatedly interrupt the computer to tell the computer that the operator has changed the touchscreen input. The computer responds as if the operator were making repeated, alternative touchscreen input selections and may carry out a succession of actions unintended by the operator. The computer may also carry out an unintended succession of actions when the operator rapidly moves his finger across the screen without first moving his finger out of the light beam grid.
What is needed is a method for providing touchscreen state data input to a computer which does not utilize large amounts of computer overhead during periods when an operator is not touching a touchscreen or when an operator's finger causes the data to change several times in rapid succession.